#ifndef PSEUDOGRAPHIC_FONT_5_H
#define PSEUDOGRAPHIC_FONT_5_H

// Псевдографический шрифт для цифр 0-9 и разделителя (:).
// Каждый символ представлен 5 строками по 5 символов (UTF-8).
// Используемые символы: ╔ ═ ╗ ╚ ╝ ╣ и пробел.

// Определение псевдографического шрифта (5x5 символа)
static const char* font_5[11][5] = {
    // 0
    {
        "╔═══╗",
        "║   ║",
        "║   ║",
        "║   ║",
        "╚═══╝"
    },
    // 1
    {
        "  ╔═╗",
        "  ║ ║",
        "    ║",
        "    ║",
        "   ═╝"
    },
    // 2
    {
        "╔═══╗",
        "    ║",
        "╔═══╝",
        "║    ",
        "╚═══╝"
    },
    // 3
    {
        "╔═══╗",
        "    ║",
        "  ══╣",
        "    ║",
        "╚═══╝"
    },
    // 4
    {
        "╔   ╗",
        "║   ║",
        "╚═══╣",
        "    ║",
        "    ╝"
    },
    // 5
    {
        "╔═══╗",
        "║    ",
        "╚═══╗",
        "    ║",
        "╚═══╝"
    },
    // 6
    {
        "╔═══╗",
        "║    ",
        "╠═══╗",
        "║   ║",
        "╚═══╝"
    },
    // 7
    {
        "╔═══╗",
        "    ║",
        "  ══╣",
        "    ║",
        "    ╝"
    },
    // 8
    {
        "╔═══╗",
        "║   ║",
        "╠═══╣",
        "║   ║",
        "╚═══╝"
    },
    // 9
    {
        "╔═══╗",
        "║   ║",
        "╚═══╣",
        "    ║",
        "╚═══╝"
    },
    // : (разделитель)
    {
        " ╔═╗ ",
        " ╚═╝ ",
        " ╔═╗ ",
        " ╚═╝ ",
        "     "
    }
};

// Пустой символ для некорректных входных данных
static const char* empty_char[5] = {
    "     ",
    "     ",
    "     ",
    "     ",
    "     "
};

// Функция для получения псевдографического символа по значению
const char** get_pseudographic_char_5(char c) {
    if (c >= '0' && c <= '9') {
        return font_5[c - '0'];
    } else if (c == ':') {
        return font_5[10];
    }
    return empty_char;
}

#endif
